home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / veriverb.zip / README < prev    next >
Text File  |  1992-12-12  |  6KB  |  119 lines

  1.  
  2.                                    VERIVERB
  3.                                   ----------
  4.                        Verb Verifier for TADS .T files.
  5.                                   version 1.0
  6.                                   Rick LaBach
  7.                                December 9, 1992
  8.  
  9.     VERIVERB is a verb call and uniqueness verifier for TADS adventure games. 
  10. It is intended as a supplement for the TC compiler to check for possible 
  11. problems that would show up during run-time.  It does not replace or duplicate 
  12. any of the compiler functions; your program should first compile without 
  13. errors before VERIVERB can give you any meaningful information.
  14.     
  15. BACKGROUND:
  16.  
  17.     The sequence of Verb Calls (also known as methods) during run-time 
  18. execution of a TADS .GAM file as described in the author's manual is as 
  19. follows: 
  20.  
  21.         if ( An indirect object was specified )
  22.                 direct_object.verDo_Verb_( actor, indirect_object )
  23.                 if ( No Output resulted from verDo_Verb )
  24.                         indirect_object.verIo_Verb( actor )
  25.                         if (No Output resulted from verIo_Verb )
  26.                                 indirect_object.io_Verb( actor, direct_object )
  27.         else if ( A direct object was specified )
  28.                 direct_object.verDo_Verb_( actor )
  29.                 if ( No Output resulted from verDo_Verb )
  30.                         direct_object.do_Verb( actor )
  31.         else
  32.                 _Verb.action( actor )
  33.  
  34.     The compiler checks to be sure all the objects you use are properly defined 
  35. and unique, but it does not check that the correct number of arguments are 
  36. supplied in each case.  For instance, if one of your objects contained the call
  37.  
  38.                                 io_Verb( actor )
  39.  
  40. the compiler would process it without errors.  During run-time, however, 
  41. activating that call would result in a run-time error, either displayed 
  42. explicitly or inherent in the game's actions.  There are usually a large number 
  43. of verb calls in a game, and since many are only activated on rare occasions 
  44. finding all the bugs during testing is an iffy proposition.
  45.  
  46.     Another potential set of problems can arise from multiple Verb objects 
  47. being assigned the same name.  A verb's names are the entities defined in the 
  48. " verb = " line of the Verb object's definition e.g. in the ADV.T file, the 
  49. verb "attackVerb" defines its names as 'attack', 'kill', and 'hit'.  If you 
  50. have defined a gun in your game and included 'kill' as a name for shootVerb, 
  51. you are likely headed for a problem.  Which verb 'kill' refers to during run-
  52. time depends on the version of TADS and which one the compiler sees first.
  53.  
  54.  
  55. WHAT VERIBERB DOES:
  56.  
  57.     VERIVERB reads the .T game file and all of the #include files and creates 
  58. an index of all the verbs used and where they are defined.  It then checks all 
  59. the verb calls to be sure the correct number of arguments are provided and that 
  60. all io verb calls have a corresponding ioAction defined.  VERIVERB then checks 
  61. to be sure all verb names are unique and refer to only one verb object.  
  62. VERIVERB will also check to be sure you are sending an valid object name, not a 
  63. number.
  64.  
  65.     VERIVERB creates two output files, VERIVERB.LST and VERIVERB.ERR.  The LST 
  66. file is the index of all verb object definitions showing in which file and line 
  67. number they occur.  The ERR file lists any errors which should be addressed.  
  68. The ERR file also shows if any verb objects containing non-unique ioAction or 
  69. doAction verb actions.  This is not necessarily a problem unless it is 
  70. accidental; you should check these verbs to be sure it is what you intended.
  71.  
  72.  
  73. USAGE:   VERIVERB { adventure_file.T }
  74.  
  75.  
  76. LIMITATIONS:
  77.  
  78.     VERIBERB can keep track of up to 1000 verb objects and 5000 verb actions 
  79. and names.  The actual number that can fit in your computer's conventional 
  80. memory is probably less, depending on name lengths, etc.  However, this should 
  81. be more than enough: DEEP SPACE DRIFTER contains only 98 verb objects, 213 
  82. verb names, and 121 verb actions.
  83.  
  84.     VERIVERB assumes the standard convention regarding verb object definitions 
  85. as recommended in the TADS author's manual.  All verb objects must be in the 
  86. form of " {verbname}Verb: ". The 'V' must be capitalized, and there must be no 
  87. space before the colon.  Also, the verb names following " verb = " must all be 
  88. on the same line as " verb = " in order to be recognized.  Beyond this, all 
  89. that compiles will verify.
  90.  
  91.     VERIVERB ignores any code which has been commented out.  (This is my 
  92. preferred way of customizing ADV.T for individual games.)
  93.     
  94.     VERIVERB has no way of knowing if the verb calls contain properly defined 
  95. objects, or that the objects specified are the ones you intend.  These are 
  96. functions of the TC compiler and beta-testing respectively; only the number of 
  97. arguments is checked.  Also, functions and daemons are not verified since they 
  98. are less numerous and easier to check manually.  
  99.  
  100.     This version of VERIVERB will flag as errors any verb call which contains 
  101. imbedded functions calls inside the parentheses.
  102.  
  103. REMEMBER, BE SURE YOUR GAME COMPILES WITHOUT ERRORS FIRST, OTHERWISE THE 
  104. RESULTS WILL BE UNPREDICTABLE.
  105.  
  106. -----------------------------------------------------------------------------
  107.  
  108. VERIVERB is a public domain program for users of TADS on MS-DOS compatibles, 
  109. written in Borland C++. The program is copyright, but you may copy and use the 
  110. software under the following conditions: 
  111.  
  112. * You may make copies of the program for your own use or to give them away. No 
  113. money whatsoever is to be charged for copies of the program or for any part of 
  114. it. (Who would want to pay for it, anyway?) 
  115.  
  116. * Use of the software is at your own risk. This program was written and 
  117. provided in good faith, however I accept no responsibility for the operation 
  118. or use of this program. 
  119.